package multiThreading;

public class E {
    public static void main(String arg[]) {
//        for (int i = 0; i < 100; i++) {
//            if (i == 20) {//当i为20的时候
//                e1 x1 = new e1();
//                x1.setName("B");
//                x1.start();
//                try {
//                    x1.join();//停止当前线程的执行，执行B线程
//                } catch (InterruptedException e) {
//                    e.printStackTrace();
//                }
//            }
//            System.out.println("A" + i);
//        }
        e1 x1=new e1();
        x1.setName("user:");
        e2 x2=new e2();
        x2.setName("set:");
        x2.setDaemon(true);//该标志这当前线程为守护线程，当其他线程执行完毕后，守护线程即立即停止执行

        x1.start();
        x2.start();
    }
}

class e1 extends Thread {
    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            try {
                Thread.sleep(2);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println(Thread.currentThread().getName() +i);
        }
    }
}
class e2 extends Thread {
    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            try {
                Thread.sleep(5);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println(Thread.currentThread().getName() +i);
        }
    }
}
